home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 4 / CU Amiga Magazine's Super CD-ROM 04 (1996)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1996-11].iso / magazine / psion / games / mines32.lzx / mines.txt < prev    next >
Text File  |  2010-09-30  |  17KB  |  334 lines

  1.                    MINESWEEPER for the Psion Series 3
  2.                    ==================================
  3.  
  4.                               VERSION 1.2
  5.                               ===========
  6.  
  7.                   Copyright Chris Hennings - July 1992
  8.  
  9.                   Email: chennings@cix.compulink.co.uk
  10.                          100010.511@compuserve.com
  11.  
  12.                   Voice: UK 01-856-8643 (Home)
  13.                          UK 0322-23488 x2440 (Work)
  14.  
  15.                   Home : 45, Kenilworth Gardens,
  16.                          Shooters Hill,
  17.                          London, SE18 3JB
  18.                          United Kingdom
  19.  
  20. ===========================================================================
  21.  
  22. Changes in Minesweeper Version 1.2 (Notes for Upgraders)
  23.  
  24.      Minesweeper v1.2 provides improvements to playability especially
  25.      for scrolling window games and is substantially more battery
  26.      friendly, there's also a minor bug fix.  In detail ...
  27.  
  28.      * Support files & Installation - If you are upgrading from v1.1 you
  29.        need only download and replace Mines.opo in the \OPO directory or
  30.        where ever.  New users or upgraders from v1.0 should place
  31.        Mines.opo in the \OPO directory and the 2 support files Mines.pic
  32.        and Mines.fon in the \OPD directory ON THE SAME DRIVE as
  33.        Mines.opo.
  34.  
  35.      * Navigation - holding down the PSION key in conjunction with the
  36.        cursor keys now enables you to move directly to the first/last
  37.        row/column of the grid.
  38.  
  39.      * Scrolling Windows - The Smiley icon now displays pointers
  40.        indicating in which direction the window can scroll over the grid
  41.        - should help to avoid false tests/marks due to forgetting about
  42.        cells offscreen.
  43.  
  44.      * Incorrect display of X (showing wrongly placed flags in endgame)
  45.        when using the small font is now fixed.
  46.  
  47.      * Gametime display and keyboard actions are now handled by
  48.        asynchronous form of GETEVENT and TIMERS.  This means that the
  49.        prog no longer burns round a TESTEVENT loop which used to waste
  50.        cycles and your battery.
  51.  
  52.      * Manual Poweroff & Gametime - The Setup dialog now allows the
  53.        purists among you to capture the manual poweroff key PSION-1 to
  54.        ensure that the gametime is always corrctly handled if you switch
  55.        off with Minesweeper in the foreground.
  56.  
  57.      With respect to the last 2 items, see also item (b) in the section
  58.      titled PSION Series3 Specific Features / Design Issues in the main
  59.      documentation below.  In particular credit here is due to David
  60.      Wood of PSION UK.
  61.  
  62.      Thanks again to everyone on CIX and CIS for their comments.  As
  63.      always keep them coming and have fun.  Unless I get reports of bugs
  64.      to fix, I feel Minesweeper now does about everything it can.  So
  65.      what else would you like to see?  Card games? -  I guess a .FON
  66.      file of a 52 card pack would be useful for anyone attempting to do
  67.      this.  Is anyone going to do an agenda to/from delimitted text
  68.      converter?  A time recording/billing app might be interesting for
  69.      S3 users who like me do a lot of project/client oriented work - why
  70.      not let me know what you think (or if you're already doing it)!
  71.  
  72.      Cheers,
  73.      Chris    7th July, 1992
  74.  
  75. ===========================================================================
  76.  
  77. Changes in Minesweeper Version 1.1 (Notes for Upgraders)
  78.  
  79.      Since releasing version 1.0 of Minesweeper, I've actually had a bit
  80.      of time to play the game, this and the feedback from CIX/CIS has
  81.      led to version 1.1 which is actually a fairly major upgrade.  Junk
  82.      version 1 and use version 1.1, you won't regret it.  Heres why ...
  83.  
  84.      *  Support files & Installation - The big and small fonts
  85.         previously contained in .PIC files are now contained in
  86.         MINES.FON (Thanks to DavidW of PSION on CIX for posting the font
  87.         compiler) this seems to give a speed improvement and reduces
  88.         code size.  The icons are contained in MINES.PIC and these 2
  89.         support files should be installed in the \OPD\ directory on the
  90.         same drive as MINES.OPO.
  91.  
  92.      *  Game Setup - The mine field can be any size up to 32x32 in either
  93.         font.  If the field is > 20x7 (Big font) or 25x9 (Small font)
  94.         the window will scroll over the larger field.  Note that for a
  95.         given size of field, the small font require less memory.  Note
  96.         also that for games involving scrolling, the SETUP dialog allows
  97.         you to choose whether just the window or the whole field is to
  98.         be scanned during autoclear (ie when a cell is found with 0
  99.         neighbouring mines).  I leave this set to window only as it can
  100.         take some time to clear a big grid and nothing seems to happen
  101.         while cells are being cleared outside the window.  Note that if
  102.         you play with a scrolling game ... remember to scroll to make
  103.         sure all the relevant area is shown before testing/marking a
  104.         cell (obvious I know but I caught myself out a couple of times).
  105.  
  106.      *  Game startup has been improved by (a) a massive increase in the
  107.         speed with which the field is drawn and (b) the mines are
  108.         scattered only after a cell has been tested/marked.  This means
  109.         you don't die on your first test.  I've also fixed a bug which
  110.         meant the initial number of mines was not shown for new games
  111.         involving a change of font.
  112.  
  113.      *  The mine field now has gridlines making it much easier to see
  114.         neighbours and increases playability.
  115.  
  116.      *  Cells marked with a ? can now be tested and are properly handled
  117.         by the autoclear routine.
  118.  
  119.      *  The game time is now shown in seconds (a la MS-Windows) which
  120.         reduces code and improves responsiveness.  I've also fixed a bug
  121.         which meant that game time did not handle the event of a manual
  122.         (PSION-1) poweroff.  Game time is frozen immediately if the game
  123.         moves to the background (you can trap this event with GETEVENT)
  124.         but if you do a manual poweroff, game time at the next poweron
  125.         will be increased by up the game timeout period.
  126.  
  127.      *  The End Game - I've fixed the bug which meant that you could win
  128.         game by simply marking every cell (ooops).  You now have to mark
  129.         all the cells containing mines (and ONLY those cells) to win.
  130.         Previously, when you lost, cells not containing a mine that you
  131.         had incorrectly marked with a flag were shown as exploding mines
  132.         along with the cell you trod on to die.  This clearly was a bit
  133.         confusing (well wrong actually) and these cells are now shown
  134.         with a big X to mark your error.  Wins are now signalled by 3
  135.         rising tones and deaths by 3 falling tones.  I'd really like to
  136.         provide cheers and explosions to be played throught the
  137.         loudspeaker via the LDD supplied in SNDFRC.ZIP (Thanks again
  138.         David) or even a bit of the death march / Beethovens 9th but
  139.         I've no idea how to digitise and am totally un-musical ... Any
  140.         offers?
  141.  
  142.      *  Lastly, I've left in a feature I used for testing - a cheat key
  143.         which sounds a high tone if the current cell contains a mine.
  144.         For the cryptic minded, the key sounds a bit like "a personal
  145.         computer floating offshore".
  146.  
  147.      Thanks again to everyone on CIX and CIS for their comments.  As
  148.      always keep them coming and have fun.
  149.  
  150.      Cheers,
  151.      Chris    20th June, 1992
  152.  
  153. ===========================================================================
  154.  
  155.                      MINESWEEPER v1.1 DOCUMENTATION
  156.                      ==============================
  157.  
  158. Introduction & Conditions of Use
  159.  
  160.      Minesweeper is based on the game supplied with Windows v3.1.  It's
  161.      a fairly close copy but don't expect mouse support.
  162.  
  163.      Minesweeper is my 2nd S3 app (you may have seen CHARSET.ZIP my full
  164.      screen ascii table) and I'd like to recognise the high quality of
  165.      the debate in the CIX Psion,Series3 conference which I've found
  166.      very useful (see discussion of timeout/power off below).
  167.  
  168.      You may use Minesweeper completely free of charge, however, I will
  169.      accept no liability arising from such use.
  170.  
  171.      You may distribute Minesweeper provided no charge is made other
  172.      than for distribution and all the files included in MINES32.ZIP are
  173.      distributed unchanged.
  174.  
  175.      If you enjoy Minesweeper and want to make a contribution ...
  176.  
  177.         a) Let me know what you think of it.
  178.         b) Write something else for the Series3 and post to CIX/CIS.
  179.         c) Remember to buy me a drink if we should ever meet.
  180.         d) If you're really desperate, I won't be offended by money :-)
  181.            5 UK pounds or more gets you a binmail of the source code.
  182.  
  183. Installation
  184.  
  185.      Simply copy the program file MINES.OPO to your \OPO directory and
  186.      the 2 support files MINES.PIC and MINES.FON to the \OPD directory
  187.      on the same drive.  Any drive should do.  MINES.OPO looks for its
  188.      support files in the \OPD directory on the same drive from which it
  189.      was executed.
  190.  
  191. Objective (For those unfamiliar with the game)
  192.  
  193.      You must try to clear mines from a minefield represented by a grid
  194.      made up of rows and columns.  A status window shows the number of
  195.      mines remaining, your playing time and other status information.
  196.      You play by testing cells within the grid.  If the cell contains a
  197.      mine - that's it your dead.  If the cell does not contain a mine,
  198.      the cell is cleared and displays the number of mines in
  199.      neighbouring cells which enables you to deduce their locations.
  200.      When you think you know the location of a mine you can mark that
  201.      cell and the number of mines remaining is reduced.
  202.  
  203.      You can customise the game in terms of grid size and number of
  204.      mines.  Try to reduce your time to clear a given setup.  Why not
  205.      let us know your best scores?
  206.  
  207. Keyboard & Display
  208.  
  209.      Untested cells are dark.  Tested cells with no neighbouring mines
  210.      are shaded.  Marked cells are shown by a flag.  You can also mark a
  211.      cell with a question mark while you're working things out.
  212.  
  213.      When you die, any undiscovered mines are shown as (surprisingly
  214.      enough) mines.  The mine that killed you is shown as an exploding
  215.      mine and any incorrectly marked cells are shown with a big X.
  216.  
  217.      The status window shows the number of remaining mines, your playing
  218.      time and the icon shows other status information.
  219.  
  220.      Use the up/down/left/right keys to navigate around the grid.  If
  221.      the grid is bigger than the window.  The grid will scroll. If you
  222.      are at the edge of the grid, a beep will sound. Use SPACE to toggle
  223.      marking for a cell you think contains a mine. Use ENTER to test a
  224.      cell.
  225.  
  226.      Both the HELP and MENU keys are active. Menus give access to the
  227.      following features which can also be called by their hotkeys.
  228.  
  229.      PSION-N  Starts a new game with the current setup
  230.      PSION-S  Starts a new game and allows you to customise the setup
  231.      PSION-P  Pauses the game and stops the clock.
  232.      PSION-T  Sets the timeout in seconds before the game is
  233.               automatically paused.
  234.      PSION-H  Gives online help
  235.      PSION-A  Gives program information
  236.      PSION-X  Exits Minesweeper
  237.  
  238. PSION Series3 Specific Features / Design Issues
  239.  
  240.      a) Screen Size - We're not dealing with VGA here.  The screen will
  241.         show up to 20 columns by 7 rows using the big font and 25x9
  242.         using the small font.  Grids can be up to 32x32 in either font
  243.         and larger sizes with involve the window scrolling over the
  244.         grid.  The default game is 24 mines in a 20x7 (big) grid.  The
  245.         characters for both fonts are contained in MINES.FON
  246.  
  247.         The Setup (PSION-S) dialog controls these setting and also
  248.         allows you to fix whether the auto clearing of cells with 0
  249.         neighbouring mines should apply to the whole grid or be limited
  250.         to the area displayed in the window.
  251.  
  252.      b) Timeout/Poweroff - With version 1.2 Minesweeper uses an
  253.         asynchronous form of GETEVENT together with a asynchronous TIMER
  254.         to give realtime updating of the elapsed time displayed in the
  255.         status window.  This technique is demonstrated in the file
  256.         GETEVA.ZIP posted to the CIX Psion,series3 conference by David
  257.         Wood of Psion UK this is much more battery friendly than the
  258.         previous burning round a TESTEVENT loop BIG THANKS to DW.  This
  259.         process still will not to the sysnull: process which triggers
  260.         the S3 poweroff routine.  The timeout feature handles this by
  261.         putting Minesweeper into pause mode which stops the clock and
  262.         puts up a dialog box if no events have occurred within the
  263.         timeout period.
  264.  
  265.     The default timeout period is 60 seconds which should be less
  266.         than most peoples poweroff time (mine is 5 minutes).  If your
  267.         poweroff time is less ... remember to do a PSION-T after
  268.         Minesweeper loads.
  269.  
  270.         Calling menus, the help system, sending Minesweeper to the
  271.         background or manually calling pause mode (PSION-P) all stop the
  272.         clock and therefore will not get in the way of a auto poweroff.
  273.  
  274.         The only event which can't directly trapped by the GETEVENT
  275.         technique is a manual poweroff (PSION-1) while Minesweeper is in
  276.         the foreground which means that depending exactly where the prog
  277.         is in the loop, gametime may or may not be correctly
  278.         stopped/started.  To handle this you can optionally via the
  279.         setup screen cause Minesweeper to capture the PSION-1 key using
  280.         a call($c58d,$2003,0,0,0,0).  When this is in effect pressing
  281.         the PSION-1 key will simply stop the clock, stop capturing
  282.         PSION-1 and issue an OFF command to switch the S3 off.  The next
  283.         time the clock is switched on by poweron, the key capturing
  284.         begins again.  With this option in effect, PSION-1 is captured
  285.         ONLY while the timer is on, so will not take place when menus,
  286.         help or pause mode are in force or if Minesweeper has been moved
  287.         to the background - so it's not too invasive.  Only one app can
  288.         be capturing a given key at any one time so if you try to run
  289.         Minesweeper with this option when another prog is already
  290.         capturing PSION-1 you will get a dialog telling you that the
  291.         option is not available.  At the end of the day I guess we don't
  292.         have to be too worried by the accuracy of gametime but I really
  293.         wanted to be able to crack this problem for it's own sake.  And
  294.         you can probably guess who did it - More BIG THANKS to DW again.
  295.         By default poweroff capturing is switched off and I guess most
  296.         of us will leave it that way.
  297.  
  298.      c) Low Memory - If you test a cell which has 0 neighbouring mines,
  299.         all neighbours are safe to test.  Minesweeper will do this
  300.         automatically for you using recursive calls to the test routine.
  301.         Recursion uses additional memory.  This should not be a problem
  302.         in most realistically challenging combinations of rows, columns
  303.         and mines.  However, few mines in a big grid may result in
  304.         several levels of recursion which may become a problem if you
  305.         have <12k free memory.  Minesweeper handles this by backing out
  306.         of the recursion leaving some areas which are logically possible
  307.         to clear uncleared and you have to do them yourself.  As I say,
  308.         I don't really expect this to be a problem, for example 15 mines
  309.         in a 30x12 grid with only 6k free memory still gives 80-90%
  310.         clearup.  Minesweeper itself requires about 25k and I guess if
  311.         your running with <30k free you're either about to buy more disk
  312.         or you've got more important things to do than play Minesweeper
  313.         :-)
  314.  
  315.      d) Support files - As noted above, the big and small character sets
  316.         are contained in the .fon file.  The other file MINES.PIC
  317.         contains the various icons used in the status window.  Those
  318.         with bit editors might like to improve on my art work ... if you
  319.         come up with a real goodie why not share it.
  320.  
  321.         I considered implementing an .ini file to save and restore your
  322.         preferred game setup and a high score table but for now I
  323.         decided that these wouldn't add all that much particularly given
  324.         the need to handle elegantly / avoid problems for those such as
  325.         myself who intend to run Minesweeper from a FLASH card.  Let me
  326.         know if you think this is a big weakness.  Someone could always
  327.         start a highscore thread :-)
  328.  
  329. Conclusion
  330.  
  331.      That's all folks ... Have fun!
  332.  
  333.      Chris
  334.